/*****************************************************************
 Jorge Lainfiesta                Carné 11142
 Rodrigo Medrano                 Carné 11222
 Luis Fernando Valdeavellano     Carné 11218
 Sección 21
 
 Vuelo.java
*****************************************************************/
import java.util.List;
import java.util.Date;
import java.util.ArrayList;

public class Vuelo{
    
    private Aeropuerto aeropuertoSalida;
    private Aeropuerto aeropuertoLlegada;
    private Aerolinea aerolinea;
    private Avion avion;
    private Persona pilotoAsignado;
    private List<Persona> aeromosas;
    private boolean esInternacional;
    private Date despegue;
    private Date aterrizaje;
    private int id;
    
    public Vuelo(){
        aeromosas = new ArrayList();
    }

    public Aeropuerto getAeropuertoSalida() {
        return aeropuertoSalida;
    }

    public void setAeropuertoSalida(Aeropuerto aeropuertoSalida) {
        this.aeropuertoSalida = aeropuertoSalida;
    }

    public Aeropuerto getAeropuertoLlegada() {
        return aeropuertoLlegada;
    }

    public void setAeropuertoLlegada(Aeropuerto aeropuertoLlegada) {
        this.aeropuertoLlegada = aeropuertoLlegada;
    }

    public Aerolinea getAerolinea() {
        return aerolinea;
    }

    public void setAerolinea(Aerolinea aerolinea) {
        this.aerolinea = aerolinea;
    }

    public Avion getAvion() {
        return avion;
    }

    public void setAvion(Avion avion) {
        this.avion = avion;
    }

    public Persona getPilotoAsignado() {
        return pilotoAsignado;
    }

    public void setPilotoAsignado(Persona pilotoAsignado) {
        this.pilotoAsignado = pilotoAsignado;
    }

    public List<Persona> getAeromosas() {
        return aeromosas;
    }

    public void setAeromosas(List<Persona> aeromosas) {
        this.aeromosas = aeromosas;
    }

    public boolean isEsInternacional() {
        return esInternacional;
    }

    public void setEsInternacional(boolean esInternacional) {
        this.esInternacional = esInternacional;
    }

    public Date getDespegue() {
        return despegue;
    }

    public void setDespegue(Date despegue) {
        this.despegue = despegue;
    }

    public Date getAterrizaje() {
        return aterrizaje;
    }

    public void setAterrizaje(Date aterrizaje) {
        this.aterrizaje = aterrizaje;
    }

    /**
     * @return the id
     */
    public int getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(int id) {
        this.id = id;
    }

    //Comapara si son iguales tomando en cuenta únicamente el ID
    public boolean equals(Object obj){
        Vuelo o = (Vuelo) obj;
        if(this.id == o.getId())
            return true;
        else
            return false;
    }
}